Learning Objectives

After completing this lesson, you’ll be able to:

Sharing FME Server Content

FME Server security is based on whether you own a component or have been given access to it. A component might be a set of functionality or an object like a repository.

When you create something, you have full permission for that component. Even if you don't have permission to manage security on your FME Server, you do have the ability to share a component that you own with another user.

Generally, sharing works two ways depending on the method:

  1. Sharing a component with other FME Server users through the Sharing Options dialog.
  2. Sharing a workspace with users without an FME Server account through Server Apps, Webhook URLs, or the FME Server REST API.

Sharing a Repository

Choose the menu option for Workspaces in the Server web interface and you are presented with a list of repositories on the system.

If you are the owner of a repository, then you have the ability to click the button to Share with Others:

Sharing a repository

This opens a pop-up dialog in which to select a user and choose the level of permission that you wish to give to them:

Granting Full Access to a repository

FME Security is also based on users and roles. Roles are analogous to a group of users. When sharing a component, the "user" field can be an individual user, or it can be applied to a particular role; for example, you can give the ability to run workspaces in a repository to anyone in the fmeuser role.

Note

This is a very important capability. As an author, you might publish a workspace intended for use by multiple users within FME Server. However, the workspace is of little use if those users don't have access to it.

The Sharing Options dialog allows you to open up access to your workspace, without you needing the advanced permissions required for full security control.

Besides repositories, other components of FME Server can also be shared with other users. Keep watch within the user interface for other sharing opportunities.

FME Server Apps

Sharing a repository is an excellent option for sharing workspaces with other users who also have access to FME Server, but what if you want to allow anyone to be able to submit a job without needing to have an account on FME Server?

This can be accomplished using FME Server Apps. You can create a Workspace App by clicking on Server Apps from the FME Server Menu:

Server Apps menuTo manage FME Server Apps, click on Manage Workspace Apps. From here, you can manage all your existing apps and create new ones.

Server Apps list

When creating a new Workspace App, you will be able to select which workspace you would like your app to run and also set an expiration date for the app. This is useful if you would like to temporarily share the app, then disable it after a set period of time.

Create Workspace App page

Next, you can select which Published Parameters you would like to be displayed for your end-users to set when they use your Workspace App:

Setting Published Parameters for a workspace app

And finally, you can customize the appearance of your Server App by changing the background color and adding logos, icons, and banners.

An FME Server Workspace App URL will then be generated. Anyone with that URL will be able to run the app that you created without having to log into FME Server first.

FME Server Workspace App URL

The FME Server Workspace App link will open a simplified Run Workspace page:

FME Training Demo App

Note

You can also create an FME Server Workspace App from the Run Workspace page for any workspace by clicking on Workspace Actions > Create Workspace App or from under the Advanced parameters section. This can be a handy shortcut as it will open the Create Workspace FME Server App page directly and automatically select the Workspace for you.

Note

Gallery Apps act as landing pages for several Workspace Apps and URLs. They can be fully customized to suit your organization's needs all without any coding! For more information see Getting Started with Gallery Apps.

Webhook URL

While FME Server Apps allow other people to run a workspace on FME Server, a Webhook allows for an application to programmatically run a workspace. A Webhook URL will include all the workspace parameters directly in the URL itself. So, when the URL is triggered, it will immediately run the workspace without the need to prompt for those parameter values.

Webhooks are useful for building your own web applications that access FME Server services because you can copy the HTTP request and embed it on your own website or a 3rd party application. You could also embed the URL into an email, or paste the URL directly into a web browser.

You can create a Webhook URL from the Run Workspace page for any workspace. Once you have selected your workspace to run, click on Workspace Actions > Create Webhook or go to the Advanced parameters and select Create a Webhook from there.

Create Webhook from a workspace

You will then be able to configure your Webhook. You can set an expiry time to control how long the URL will be active for and also decide what values should be filled in for any Published Parameters associated with the workspace.

Create Webhook page

When finished, your Webhook URL will be generated and you will be able to download a text file containing the Webhook information and see some examples of how to use the Webhook within 3rd party or custom applications.

Published webhook page

FME Server REST API

In more advanced use cases, you can also share the results of workspaces with users that don't have an FME Server account using the FME Server REST API. You can make an API call to the server to run a workspace and include the results in your external applications.

Note

The webhook URL can make use of the FME Server services (Data Download, Data Streaming), whereas the REST API can only submit jobs using the REST service, which acts similarly to the Job Submitter service. You can see demos using the FME Server REST API or read the documentation.